package com.webserver.controller;

import com.webserver.http.HttpServletRequest;
import com.webserver.http.HttpServletResponse;
import qrcode.QRCodeUtil;

import java.io.FileOutputStream;
import java.io.OutputStream;

/**
 * tool 工具
 * 工具
 */
public class ToolsController {

    public void createQR(HttpServletRequest request, HttpServletResponse response){
        String line = request.getParameter("content");

        OutputStream out = response.getOutputStream();
        try {
            QRCodeUtil.encode(line,"./logo.jpg",out,true);
            response.setContentType("image/jpeg");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        String line = "beep beep i'am sheep";

        try {
            /*
                encode(String content,String fileName)
                参数1:二维码上显示的文字
                参数2:生成的图片路径
            */
//            QRCodeUtil.encode(line,"./qr.jpg");
            /*
                encode(String content,String imagePath,String fileName,boolean needC)
                参数1:二维码上显示的文字
                参数2:二维码中间的logo图片的路径
                参数3:生成的图片路径
                参数4:logo图片是否需要压缩。如果logo图比较大会盖住生成的二维码，因此通常需要压缩
             */
            QRCodeUtil.encode(line,"./logo.jpg","./qr.jpg",true);

            /*
                encode(String content,String imagePath,OutputStream out,boolean needC)
                参数1:二维码上显示的文字
                参数2:二维码中间的logo图片的路径
                参数3:生成的图片数据会通过给定的流写出
                参数4:logo图片是否需要压缩。如果logo图比较大会盖住生成的二维码，因此通常需要压缩
             */
            FileOutputStream fos = new FileOutputStream("./qr.jpg");
            QRCodeUtil.encode(line,"./logo.jpg",fos,true);
            System.out.println("二维码生成完毕!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
